perm filename ARROW.SAI[PNT,HE] blob sn#326356 filedate 1978-01-05 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	ENTRY
C00005 ENDMK
C⊗;
ENTRY;
BEGIN
REQUIRE "MACROS.SAI[PNT,HE]" SOURCE_FILE;

EXTERNAL INTEGER $ARROW;
EXTERNAL INTEGER ∂DLMAR;
EXTERNAL SIMPLE PROCEDURE DRAWLINE(INTEGER X0,Y0,X1,Y1);


	! draws an arrow drawing lines between the 7 points (1 to 7). The dimensions
	  of the arrow and the names of the variables used are 

		 .	80	   .  20   .			
        c3y	 ..................3.....................
	         .                 |\ 	   .		10
 	c12y    1 ________________2|  \ .................
	   	 |		   .	\  .
	c4y	 |		   .	  \4		20
		 |		   .	  /.
		 |__________________    /................
 	c67y    7.                6|  /    .		10
 	c5y	 ..................|/....................
		 .		   5       .
		 .		   .       .
	        c17x              c2356x   c4x		;

INTERNAL SIMPLE PROCEDURE ARROW;
	BEGIN					! $ARROW is the arrow position;
	INTEGER C17X,C2356X,C4X,C12Y,C3Y,C5Y,C67Y,I;
	C17X←∂DLMAR-25;
	C2356X←C17X+80;
	C4X←C2356X+20;
	C3Y←$ARROW-20;
	C5Y←$ARROW+20;
	C12Y←$ARROW-10;
	C67Y←$ARROW+10;
	DRAWLINE(C17X,C12Y,C2356X,C12Y);
	DRAWLINE(C2356X,C12Y,C2356X,C3Y);
	DRAWLINE(C2356X,C3Y,C4X,$ARROW);
	DRAWLINE(C4X,$ARROW,C2356X,C5Y);
	DRAWLINE(C2356X,C5Y,C2356X,C67Y);
	DRAWLINE(C17X,C67Y,C2356X,C67Y);
	DRAWLINE(C17X,C12Y,C17X,C67Y);
 	FOR I←C17X STEP 2 UNTIL C2356X DO
 	DRAWLINE(I,C12Y,I,C67Y);
 	FOR I←C2356X STEP 2 UNTIL C4X DO
 	DRAWLINE(I,C3Y+(I-C2356X),I,C5Y-(I-C2356X));
	END;

END;